A typical scanner uses a light source to illuminate a section of an original item. A lens or an array of lenses redirects light reflected from or transmitted through the original item so as to project an image of a scan line onto an array of light-sensitive elements. Each light-sensitive element produces an electrical signal related to the intensity of light falling on the element, which is in turn related to the reflectance, transmittance, or density of the corresponding portion of the original item. These electrical signals are read and assigned numerical values. A scanning mechanism typically sweeps the scan line across the original item, so that successive scan lines are read. By associating the numerical values with their corresponding location on the being scanned, a digital representation of the scanned item is constructed. When the digital representation is read and properly interpreted, an image of the scanned item can be reconstructed.
FIG. 1 depicts a perspective view of the imaging portion of a scanner using a contact image sensor. Much of the supporting structure, light shielding, and scanning mechanism have been omitted from the figure for clarity. A contact image sensor (CIS) uses an array of gradient index (GRIN) rod lenses 101 placed between a platen 102 and a segmented array of sensor segments 103 mounted on a printed circuit board 104. The sensor segments 103 contain the light-sensitive elements. A light source 105 provides the light needed for scanning of reflective original items. The electrical signals generated by the light-sensitive elements may be carried to other electronics (not shown) by cable 106. Each sensor segment 103 may sometimes be called a die.
FIG. 2 depicts a cross-section view of the CIS arrangement of FIG. 1, as it would be used to scan a reflective original. Light source 105 emits light 201, which illuminates the original 202. Some of the light reflects from the original and is captured by GRIN lenses 101. The GRIN lenses refocus the light onto light-sensitive elements 103, forming an image of the original 202. While an array of GRIN lenses comprising two staggered rows is shown, the lenses may be arranged in a single row, three rows, or some other arrangement.
Each of the light-sensitive segments is further divided into pixels. The term pixel may refer to an individually addressable light-sensitive element of sensor segments 103, or to the corresponding area of original 202 that is imaged onto that portion, or to each digital value corresponding to a location in a digital image.
FIG. 3 depicts a schematic plan view of a particular sensor segment 103, also showing the row of individual pixels 301 that each sensor segment 103 comprises. For clarity of illustration, only a few pixels are shown. An actual sensor segment may comprise hundreds or thousands of individual pixels. The number of pixels per linear unit of sensor defines the scanner's spatial sampling rate, which is also often called the scanner's resolution. A typical scanner may have a resolution of 300, 600, 1200, or 2400 pixels per inch, although other resolutions are possible.
The optical magnification of the CIS module is essentially unity, so the pixel sites 301 on sensor segments 103 are mapped to corresponding pixels on the original 202, and the pixels on original 102 are essentially the same size as the pixel sites 301. FIG. 4 depicts the pixels from three sensor segments of a multi-segment sensor array as projected onto the original 202. Ideally, some of the pixels of the segments overlap. That is, if the direction corresponding to the length of the segments, the X direction, is considered to define a row of pixels, and the transverse direction, the Y direction is thought to traverse columns of pixel locations, then the end pixel or pixels of one segment may be in the same column as the end pixels of another segment. For example, pixel 411 in segment 402 is essentially in the same column as pixel 410 in segment 401.
The X direction as shown is also sometimes called the main scanning direction, and the Y direction is sometimes called the subscanning direction.
During scanning, the set of segments is moved in the subscanning direction indicated by arrow 404. At one time, the pixels are in the position as shown in solid lines in FIG. 4 and are read. At later times corresponding to successive scan lines, the pixels are in the positions shown in dashed lines and are read. At a particular later time, pixel 411 will read essentially the same portion of original 202 that pixel 410 read earlier. When the scanner or host computer reassembles the data from the segments into a final digital representation of original 202, it may choose to use either the earlier reading from pixel 410 or the later reading from pixel 411 to represent that particular original location. This is a simple example of the process of constructing a complete final image from segments scanned at different times and locations. This process is sometimes called re-sampling or stitching.
In the idealized example of FIG. 4, the sensor segments 103 are placed perfectly parallel to each other, overlapped by exactly one pixel, and offset in the Y direction by exactly 3 pixels. In an actual scanner, however, this precision is not generally achievable. The positional accuracy of the pixels is determined primarily by the placement accuracy of the sensor segments 103 on circuit board 104. Each segment may be displaced from its ideal location in the X direction or the Y direction, or by being placed non-parallel to its ideal alignment. These errors may occur in any combination.
FIG. 5 depicts an exaggerated example of misplacement of the sensor segments 103. Each of segments 501, 502, and 503 is misplaced relative to its nominal position. One example result is that pixels 510 and 511 are displaced by about five scan lines in the Y direction rather than their nominal three scan lines. If the stitching means assumes that it should match pixels from segment 502 with pixels from segment 501 scanned three scan lines earlier, there will occur a “stitching artifact” at the boundary between the parts of the image scanned by segments 501 and 502. Segments 502 and 503 overlap in the X direction more than their nominal one pixel, and similar stitching artifacts may occur as a result. For example the stitching artifacts may cause smooth lines in the original 202 to appear disjointed or jagged in the resulting scanned image.
Previously, manufacturers of CIS modules have endeavored to avoid these stitching artifacts by controlling the placement of the sensor segments 103 onto the circuit board 104 as precisely and accurately as possible. Because the geometries involved are very small, it has not always been possible to reliably place the segments with errors small enough. Typically, modules with too much placement deviation have been rejected, reducing the manufacturing yield and ultimately increasing the cost of the modules that were acceptable.
This problem has been exacerbated as scanners have been produced with increasingly higher resolution. For example, a specification of a one pixel maximum placement error corresponds to a placement tolerance of about 84 microns for a scanner with a resolution of 300 pixels per inch. But the same one pixel specification corresponds to a placement tolerance of only about 10 microns for a scanner with a resolution of 2400 pixels per inch.
Pending U.S. patent application Ser. No. 09/365,112, having a common assignee with the present application, describes a method of compensating for die placement errors in a handheld scanner that comprises position sensors and a position correction system. However, that application describes only a particular compensation method, and not a method for characterizing the misalignments of the segments.
It may be possible to characterize the die placement errors using metrology equipment, but this would require significant time and expense, and also adds the complexity of a data tracking system for associating the measurement data with each CIS module.
To facilitate the minimization of stitching errors in scanned images, an inexpensive, convenient method is needed to characterize the sensor segment placement errors in a scanner optics module.